#bmr
def main():
    y_or_n='no'
    while y_or_n =='no':  
        print('请输入以下信息,用空格分割')
        input_str=input('性别 体重（kg） 身高（cm） 年龄:')
        str_list=input_str.split(' ')#将输入的字符串用‘ ’空格分割成各个小字符串，得到的格式为list（列表格式）
        try:
            gender=str_list[0]
            weight=float(str_list[1]) #取出字符串，并转换为浮点型
            height=float(str_list[2])
            age=int(str_list[3])#只能为整数
            if gender == '男':
                bmr = (13.7*weight) + (5.0*height) -(6.8*age) +66
            elif gender == '女':
                bmr = (9.6*weight) + (1.8*height) -(4.7*age) +65
            else:
                bmr = -1
            if bmr != -1:#！=不等于
                print('基础代谢率bmr为{}大卡'.format(bmr)) 
            #若有多个带单位输出，为此形式
                print('您的性别为{}，体重为{}kg，身高为{}cm，年龄为{}岁，基础代谢为{}大卡'.format(gender,weight,height,age,bmr))
        #字符串格式化输出,用{}占位。print(str.format())
        #带单位输出。用{}占位，格式为print('***{}***'.format(参数)),输出时{}中就会填入参数。
            else :
                print('暂不支持该性别！')
       except ValueError:
            print('请输入正确的信息！')   
       except IndexError:
            print('请输入完整的信息！') 
       except:
            print('程序错误！')       
    print('***************************************************************')  #隔开一行,并没有什么用
    y_or_n = input('请问是否退出程序（y/n）：')
    print('程序已退出，谢谢使用！')
if __name__ == '__main__':
    main()    

